// 使用fs读取"./sql"内所有的sql文件
const fs = require("fs");
const path = require("path");
const connection = require("./mysql");// 引入数据库连接
const sqlList = fs.readdirSync(path.join(__dirname, "./sql"));
const TableList = sqlList.map((file) => {
    // 查询数据库中是否存在该表
    const tableName = file.replace(".sql", "");
    return {
        name: tableName,
        structure: fs.readFileSync(path.join(__dirname, "./sql", file), "utf-8"),
    }
})
// 验证通过的表
let passTable = [];
// 新建的表
let newTable = [];
// 使用异步函数处理 检查并创建表
async function checkAndCreateTables() {
    for (const table of TableList) {
        try {
            const [result] = await connection.query(`SHOW TABLES LIKE '${table.name}'`);
            if (result.length === 0) {
                // 如果表不存在，则创建表
                await connection.query(table.structure);
                console.log(`Table ${table.name} 创建成功`);
                newTable.push(table.name);
            } else {
                passTable.push(table.name);
            }
        } catch (err) {
            console.error(err);
        }
    }

    // 输出结果
    console.log('已完成检测的表:', passTable);
    console.log('新建的表:', newTable);
    // 创建上传目录（如果不存在）
    const uploadDir = path.join(__dirname, '../uploads');
    if (!fs.existsSync(uploadDir)) {
      fs.mkdirSync(uploadDir, { recursive: true });
      console.log('静态资源上传目录已创建');
    }
}
checkAndCreateTables();


